﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace Shop_Phone
{
    public partial class Site : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["KhachhangID"] == null)
            {
                sessnull.Visible = true;
                sessnotnull.Visible = false;
            }
            else
            {
                sessnull.Visible = false;
                sessnotnull.Visible = true;
                lblhoten.Text = Session["FullName_KH"].ToString();
            }
            lbldatruycap.Text = Application["DangTruyCap"].ToString();
            DataTable cart = new DataTable();
            if (Session["cart"] == null)
            {
                //Nếu chưa có giỏ hàng, tạo giỏ hàng thông qua DataTable với 4 cột chính
                //ID (Mã sản phẩm), Name (Tên sản phẩm)
                //Price (Giá tiền), Quantity (Số lượng)

                cart.Columns.Add("ID");
                cart.Columns.Add("Name");
                cart.Columns.Add("Price");
                cart.Columns.Add("Quantity");
                //Sau khi tạo xong thì lưu lại vào session
                Session["cart"] = cart;
            }
            else
            {
                //Lấy thông tin giỏ hàng từ Session["cart"]
                cart = Session["cart"] as DataTable;
            }
            if (cart.Rows.Count > 0)
            {
                lblsoluongsanpham.Text = cart.Rows.Count + ": SẢN PHẨM";
                lblsoluongsp.Text = cart.Rows.Count.ToString();
            }
            else
            {
                lblsoluongsanpham.Text = "CHƯA CÓ SẢN PHẨM";
                lblsoluongsp.Text = cart.Rows.Count.ToString();
            }
            //Hiện thị thông tin giỏ hàng
            //Hiện thị thông tin giỏ hàng
            GridView1.DataSource = cart;
            GridView1.DataBind();
            //lblsoluongsp.Text = cart.Rows.Count.ToString();
        }
        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            //Sửa thông tin giỏ hàng
            string id = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
            TextBox quantity = GridView1.Rows[e.NewSelectedIndex].Cells[2].FindControl("txtQuantity")
                as TextBox;
            //Duyệt qua Giỏ hàng và tăng số lượng
            DataTable cart = Session["cart"] as DataTable;
            foreach (DataRow dr in cart.Rows)
            {
                //Kiểm tra mã sản phẩm phù hợp để gán số lượng khách hàng mua
                if (dr["ID"].ToString() == id)
                {
                    dr["Quantity"] = int.Parse(quantity.Text);
                    break;
                }
            }
            //Lưu lại vào Session
            Session["cart"] = cart;
            //Hiển thị giỏ hàng với thông tin mới
            GridView1.DataSource = cart;
            GridView1.DataBind();
        }
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //Xóa sản phẩm khỏi giỏ hàng
            string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
            //Duyệt qua Giỏ hàng và xóa sản phẩm phù hợp
            DataTable cart = Session["cart"] as DataTable;
            foreach (DataRow dr in cart.Rows)
            {
                //Kiểm tra mã sản phẩm phù hợp để tăng số lượng
                if (dr["ID"].ToString() == id)
                {
                    dr.Delete();
                    break;
                }
            }
            //Lưu lại vào Session
            Session["cart"] = cart;
            //Hiển thị giỏ hàng với thông tin mới
            GridView1.DataSource = cart;
            GridView1.DataBind();
        }
    }
}